package bdcin.servlet.actions.usuarioDoSistema;

import java.io.IOException;

import javax.servlet.RequestDispatcher;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

import bdcin.classesbasicas.Usuario;
import bdcin.excecoes.BuscarException;
import bdcin.excecoes.EditarException;
import bdcin.fachada.BDCInFactory;
import bdcin.fachada.IBDCIn;
import bdcin.servlet.actions.Action;

public class AlterarDadosUsuarioLogadoAction extends Action {

	@Override
	public void executar(HttpServletRequest request,
			HttpServletResponse response) throws ServletException, IOException {

		Usuario usuario = (Usuario)request.getSession().getAttribute("usuarioLogado");

		IBDCIn facade = BDCInFactory.getFacade();

		Usuario usuarioRecuperado=null;
		try {
			usuarioRecuperado = facade.buscarUsuario(usuario.getId());
		} catch (BuscarException e) {
			request.setAttribute("mensagem", e.getMessage());
			request.getRequestDispatcher("mensagem.jsp").forward(request, response);
		}

		String senha  = request.getParameter("senha");

		usuarioRecuperado.setSenha(senha);

		try {
			facade.alterar(usuarioRecuperado);
		} catch (EditarException e) {
			request.setAttribute("mensagem", e.getMessage());
			request.getRequestDispatcher("mensagem.jsp").forward(request, response);
		}

		RequestDispatcher rd = null;
		request.setAttribute("mensagem", "Senha alterada com sucesso!");
		rd = request.getRequestDispatcher("index.jsp");
		rd.forward(request, response);


	}

}
